package com.bzkj.basicinfo.service.allocation;

import com.bzkj.basicinfo.domain.allocation.WmsStockAllocationEntity;
import com.bzkj.common.core.page.TableDataInfo;

/**
 * WMS库存分配Service接口
 *
 * @author system
 * @date 2025-10-22
 */
public interface WmsStockAllocationService {

    /**
     * 查询库存分配列表（分页）
     */
    TableDataInfo getAllocationList(WmsStockAllocationEntity entity, Integer pageNum, Integer pageSize);

    /**
     * 查询库存分配详情（包含明细）
     */
    WmsStockAllocationEntity getAllocationDetail(Long id);

    /**
     * 执行库存分配（根据出库单）
     */
    int executeAllocation(Long outboundOrderId, String strategy);

    /**
     * 取消库存分配
     */
    int cancelAllocation(Long id, String reason);

    /**
     * 删除库存分配
     */
    int deleteAllocation(Long id);
}
